x86/mm: Clean up unshare path for foreign mappings
In its current shape, if Xen unshares a foreign gfn successfully while building
a foreign writable map, it is left with a reference to the old shared page in
the "target" var.
Instead, push unsharing request down on the initial get_page_from_gfn call,
which will DTRT.
This allows for greatly simplifying the unshare related condition handling,
removing ugly comments and s86_64 ifdef-ery.
Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>